 /* Copyright 2018 JDCLOUD.COM

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http:#www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.





Contact: 

NOTE: This class is auto generated by the jdcloud code generator program.
*/


#import <Foundation/Foundation.h>
#import <JDCloudOCSDKBilling/BillingModel.h>

@implementation PriceMap
-(id) initWithKey:(NSString*) key
      value:(NSNumber*)value { 
     self.key = key;               
     self.value = value;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self key])
    {
        [result setValue:[self key] forKey:@"key"];
    }
    if([self value])
    {
        [result setValue:[self value] forKey:@"value"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.key = [dictionary objectForKey:@"key"];
    self.value = [dictionary objectForKey:@"value"];
    return self;
}
 @end
@implementation Tags
-(id) initWithKey:(NSString*) key
      value:(NSString*)value { 
     self.key = key;               
     self.value = value;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self key])
    {
        [result setValue:[self key] forKey:@"key"];
    }
    if([self value])
    {
        [result setValue:[self value] forKey:@"value"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.key = [dictionary objectForKey:@"key"];
    self.value = [dictionary objectForKey:@"value"];
    return self;
}
 @end
@implementation ResourceOrderQueryCondition
-(id) initWithId:(NSNumber*) idValue
      pin:(NSString*)pin
      resourceId:(NSString*)resourceId
      appCode:(NSString*)appCode
      serviceCodeList:(NSArray<NSString*>*)serviceCodeList
      region:(NSString*)region
      networkOperator:(NSNumber*)networkOperator
      billingType:(NSNumber*)billingType
      resourceIdList:(NSArray<NSString*>*)resourceIdList
      expireInDays:(NSNumber*)expireInDays
      isOnTrial:(NSNumber*)isOnTrial
      site:(NSNumber*)site
      status:(NSNumber*)status
      billingStatus:(NSNumber*)billingStatus
      expiringInDays:(NSNumber*)expiringInDays
      billingTypeList:(NSArray<NSNumber*>*)billingTypeList
      transactionNos:(NSArray<NSString*>*)transactionNos
      opTypes:(NSArray<NSNumber*>*)opTypes
      startTime:(NSString*)startTime
      endTime:(NSString*)endTime
      serviceCode:(NSString*)serviceCode
      statusList:(NSArray<NSNumber*>*)statusList
      excludeResources:(NSArray<NSString*>*)excludeResources
      orderByClaus:(NSString*)orderByClaus
      node:(NSString*)node
      departmentId:(NSNumber*)departmentId
      pinList:(NSArray<NSString*>*)pinList
      isSpecial:(NSNumber*)isSpecial
      nodeCode:(NSString*)nodeCode
      timeout:(NSNumber*)timeout
      pageIndex:(NSNumber*)pageIndex
      pageSize:(NSNumber*)pageSize
      offset:(NSNumber*)offset { 
     self.idValue = idValue;               
     self.pin = pin;               
     self.resourceId = resourceId;               
     self.appCode = appCode;               
     self.serviceCodeList = serviceCodeList;               
     self.region = region;               
     self.networkOperator = networkOperator;               
     self.billingType = billingType;               
     self.resourceIdList = resourceIdList;               
     self.expireInDays = expireInDays;               
     self.isOnTrial = isOnTrial;               
     self.site = site;               
     self.status = status;               
     self.billingStatus = billingStatus;               
     self.expiringInDays = expiringInDays;               
     self.billingTypeList = billingTypeList;               
     self.transactionNos = transactionNos;               
     self.opTypes = opTypes;               
     self.startTime = startTime;               
     self.endTime = endTime;               
     self.serviceCode = serviceCode;               
     self.statusList = statusList;               
     self.excludeResources = excludeResources;               
     self.orderByClaus = orderByClaus;               
     self.node = node;               
     self.departmentId = departmentId;               
     self.pinList = pinList;               
     self.isSpecial = isSpecial;               
     self.nodeCode = nodeCode;               
     self.timeout = timeout;               
     self.pageIndex = pageIndex;               
     self.pageSize = pageSize;               
     self.offset = offset;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self pin])
    {
        [result setValue:[self pin] forKey:@"pin"];
    }
    if([self resourceId])
    {
        [result setValue:[self resourceId] forKey:@"resourceId"];
    }
    if([self appCode])
    {
        [result setValue:[self appCode] forKey:@"appCode"];
    }
    if([self serviceCodeList])
    {
        [result setValue:[self serviceCodeList] forKey:@"serviceCodeList"];
    }
    if([self region])
    {
        [result setValue:[self region] forKey:@"region"];
    }
    if([self networkOperator])
    {
        [result setValue:[self networkOperator] forKey:@"networkOperator"];
    }
    if([self billingType])
    {
        [result setValue:[self billingType] forKey:@"billingType"];
    }
    if([self resourceIdList])
    {
        [result setValue:[self resourceIdList] forKey:@"resourceIdList"];
    }
    if([self expireInDays])
    {
        [result setValue:[self expireInDays] forKey:@"expireInDays"];
    }
    if([self isOnTrial])
    {
        [result setValue:[self isOnTrial] forKey:@"isOnTrial"];
    }
    if([self site])
    {
        [result setValue:[self site] forKey:@"site"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self billingStatus])
    {
        [result setValue:[self billingStatus] forKey:@"billingStatus"];
    }
    if([self expiringInDays])
    {
        [result setValue:[self expiringInDays] forKey:@"expiringInDays"];
    }
    if([self billingTypeList])
    {
        [result setValue:[self billingTypeList] forKey:@"billingTypeList"];
    }
    if([self transactionNos])
    {
        [result setValue:[self transactionNos] forKey:@"transactionNos"];
    }
    if([self opTypes])
    {
        [result setValue:[self opTypes] forKey:@"opTypes"];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self serviceCode])
    {
        [result setValue:[self serviceCode] forKey:@"serviceCode"];
    }
    if([self statusList])
    {
        [result setValue:[self statusList] forKey:@"statusList"];
    }
    if([self excludeResources])
    {
        [result setValue:[self excludeResources] forKey:@"excludeResources"];
    }
    if([self orderByClaus])
    {
        [result setValue:[self orderByClaus] forKey:@"orderByClaus"];
    }
    if([self node])
    {
        [result setValue:[self node] forKey:@"node"];
    }
    if([self departmentId])
    {
        [result setValue:[self departmentId] forKey:@"departmentId"];
    }
    if([self pinList])
    {
        [result setValue:[self pinList] forKey:@"pinList"];
    }
    if([self isSpecial])
    {
        [result setValue:[self isSpecial] forKey:@"isSpecial"];
    }
    if([self nodeCode])
    {
        [result setValue:[self nodeCode] forKey:@"nodeCode"];
    }
    if([self timeout])
    {
        [result setValue:[self timeout] forKey:@"timeout"];
    }
    if([self pageIndex])
    {
        [result setValue:[self pageIndex] forKey:@"pageIndex"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self offset])
    {
        [result setValue:[self offset] forKey:@"offset"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.idValue = [dictionary objectForKey:@"id"];
    self.pin = [dictionary objectForKey:@"pin"];
    self.resourceId = [dictionary objectForKey:@"resourceId"];
    self.appCode = [dictionary objectForKey:@"appCode"];
    self.serviceCodeList = [dictionary objectForKey:@"serviceCodeList"];
    self.region = [dictionary objectForKey:@"region"];
    self.networkOperator = [dictionary objectForKey:@"networkOperator"];
    self.billingType = [dictionary objectForKey:@"billingType"];
    self.resourceIdList = [dictionary objectForKey:@"resourceIdList"];
    self.expireInDays = [dictionary objectForKey:@"expireInDays"];
    self.isOnTrial = [dictionary objectForKey:@"isOnTrial"];
    self.site = [dictionary objectForKey:@"site"];
    self.status = [dictionary objectForKey:@"status"];
    self.billingStatus = [dictionary objectForKey:@"billingStatus"];
    self.expiringInDays = [dictionary objectForKey:@"expiringInDays"];
    self.billingTypeList = [dictionary objectForKey:@"billingTypeList"];
    self.transactionNos = [dictionary objectForKey:@"transactionNos"];
    self.opTypes = [dictionary objectForKey:@"opTypes"];
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.serviceCode = [dictionary objectForKey:@"serviceCode"];
    self.statusList = [dictionary objectForKey:@"statusList"];
    self.excludeResources = [dictionary objectForKey:@"excludeResources"];
    self.orderByClaus = [dictionary objectForKey:@"orderByClaus"];
    self.node = [dictionary objectForKey:@"node"];
    self.departmentId = [dictionary objectForKey:@"departmentId"];
    self.pinList = [dictionary objectForKey:@"pinList"];
    self.isSpecial = [dictionary objectForKey:@"isSpecial"];
    self.nodeCode = [dictionary objectForKey:@"nodeCode"];
    self.timeout = [dictionary objectForKey:@"timeout"];
    self.pageIndex = [dictionary objectForKey:@"pageIndex"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    self.offset = [dictionary objectForKey:@"offset"];
    return self;
}
 @end
@implementation Formula
-(id) initWithKey:(NSString*) key
      value:(NSNumber*)value
      unit:(NSString*)unit
      number:(NSNumber*)number { 
     self.key = key;               
     self.value = value;               
     self.unit = unit;               
     self.number = number;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self key])
    {
        [result setValue:[self key] forKey:@"key"];
    }
    if([self value])
    {
        [result setValue:[self value] forKey:@"value"];
    }
    if([self unit])
    {
        [result setValue:[self unit] forKey:@"unit"];
    }
    if([self number])
    {
        [result setValue:[self number] forKey:@"number"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.key = [dictionary objectForKey:@"key"];
    self.value = [dictionary objectForKey:@"value"];
    self.unit = [dictionary objectForKey:@"unit"];
    self.number = [dictionary objectForKey:@"number"];
    return self;
}
 @end
@implementation ResourceTagVo
-(id) initWithTagKey:(NSString*) tagKey
      tagValue:(NSString*)tagValue { 
     self.tagKey = tagKey;               
     self.tagValue = tagValue;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self tagKey])
    {
        [result setValue:[self tagKey] forKey:@"tagKey"];
    }
    if([self tagValue])
    {
        [result setValue:[self tagValue] forKey:@"tagValue"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.tagKey = [dictionary objectForKey:@"tagKey"];
    self.tagValue = [dictionary objectForKey:@"tagValue"];
    return self;
}
 @end
@implementation EbsBillVo
-(id) initWithPin:(NSString*) pin
      dataSourceId:(NSString*)dataSourceId
      appCode:(NSString*)appCode
      serviceCode:(NSString*)serviceCode
      chargeTime:(NSString*)chargeTime
      payFee:(NSNumber*)payFee
      billingType:(NSNumber*)billingType
      startTime:(NSString*)startTime
      endTime:(NSString*)endTime
      purchasePrice:(NSNumber*)purchasePrice
      supplier:(NSString*)supplier
      org:(NSString*)org
      userGroup:(NSNumber*)userGroup
      domainOrderId:(NSString*)domainOrderId
      traderName:(NSString*)traderName
      orderType:(NSString*)orderType
      taxRate:(NSNumber*)taxRate
      deptNo:(NSString*)deptNo
      code:(NSNumber*)code
      message:(NSString*)message { 
     self.pin = pin;               
     self.dataSourceId = dataSourceId;               
     self.appCode = appCode;               
     self.serviceCode = serviceCode;               
     self.chargeTime = chargeTime;               
     self.payFee = payFee;               
     self.billingType = billingType;               
     self.startTime = startTime;               
     self.endTime = endTime;               
     self.purchasePrice = purchasePrice;               
     self.supplier = supplier;               
     self.org = org;               
     self.userGroup = userGroup;               
     self.domainOrderId = domainOrderId;               
     self.traderName = traderName;               
     self.orderType = orderType;               
     self.taxRate = taxRate;               
     self.deptNo = deptNo;               
     self.code = code;               
     self.message = message;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self pin])
    {
        [result setValue:[self pin] forKey:@"pin"];
    }
    if([self dataSourceId])
    {
        [result setValue:[self dataSourceId] forKey:@"dataSourceId"];
    }
    if([self appCode])
    {
        [result setValue:[self appCode] forKey:@"appCode"];
    }
    if([self serviceCode])
    {
        [result setValue:[self serviceCode] forKey:@"serviceCode"];
    }
    if([self chargeTime])
    {
        [result setValue:[self chargeTime] forKey:@"chargeTime"];
    }
    if([self payFee])
    {
        [result setValue:[self payFee] forKey:@"payFee"];
    }
    if([self billingType])
    {
        [result setValue:[self billingType] forKey:@"billingType"];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self purchasePrice])
    {
        [result setValue:[self purchasePrice] forKey:@"purchasePrice"];
    }
    if([self supplier])
    {
        [result setValue:[self supplier] forKey:@"supplier"];
    }
    if([self org])
    {
        [result setValue:[self org] forKey:@"org"];
    }
    if([self userGroup])
    {
        [result setValue:[self userGroup] forKey:@"userGroup"];
    }
    if([self domainOrderId])
    {
        [result setValue:[self domainOrderId] forKey:@"domainOrderId"];
    }
    if([self traderName])
    {
        [result setValue:[self traderName] forKey:@"traderName"];
    }
    if([self orderType])
    {
        [result setValue:[self orderType] forKey:@"orderType"];
    }
    if([self taxRate])
    {
        [result setValue:[self taxRate] forKey:@"taxRate"];
    }
    if([self deptNo])
    {
        [result setValue:[self deptNo] forKey:@"deptNo"];
    }
    if([self code])
    {
        [result setValue:[self code] forKey:@"code"];
    }
    if([self message])
    {
        [result setValue:[self message] forKey:@"message"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.pin = [dictionary objectForKey:@"pin"];
    self.dataSourceId = [dictionary objectForKey:@"dataSourceId"];
    self.appCode = [dictionary objectForKey:@"appCode"];
    self.serviceCode = [dictionary objectForKey:@"serviceCode"];
    self.chargeTime = [dictionary objectForKey:@"chargeTime"];
    self.payFee = [dictionary objectForKey:@"payFee"];
    self.billingType = [dictionary objectForKey:@"billingType"];
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.purchasePrice = [dictionary objectForKey:@"purchasePrice"];
    self.supplier = [dictionary objectForKey:@"supplier"];
    self.org = [dictionary objectForKey:@"org"];
    self.userGroup = [dictionary objectForKey:@"userGroup"];
    self.domainOrderId = [dictionary objectForKey:@"domainOrderId"];
    self.traderName = [dictionary objectForKey:@"traderName"];
    self.orderType = [dictionary objectForKey:@"orderType"];
    self.taxRate = [dictionary objectForKey:@"taxRate"];
    self.deptNo = [dictionary objectForKey:@"deptNo"];
    self.code = [dictionary objectForKey:@"code"];
    self.message = [dictionary objectForKey:@"message"];
    return self;
}
 @end
@implementation CompatibleBill
-(id) initWithBillId:(NSNumber*) billId
      pin:(NSString*)pin
      site:(NSNumber*)site
      region:(NSString*)region
      appCode:(NSString*)appCode
      appCodeName:(NSString*)appCodeName
      serviceCode:(NSString*)serviceCode
      serviceCodeName:(NSString*)serviceCodeName
      resourceId:(NSString*)resourceId
      billingType:(NSNumber*)billingType
      billingTypeName:(NSString*)billingTypeName
      formula:(NSString*)formula
      formulaStr:(NSString*)formulaStr
      startTime:(NSString*)startTime
      endTime:(NSString*)endTime
      createTime:(NSString*)createTime
      billFee:(NSNumber*)billFee
      billFee2:(NSNumber*)billFee2
      discountFee:(NSNumber*)discountFee
      couponId:(NSString*)couponId
      couponFee:(NSNumber*)couponFee
      actualFee:(NSNumber*)actualFee
      cashCouponFee:(NSNumber*)cashCouponFee
      balancePayFee:(NSNumber*)balancePayFee
      cashPayFee:(NSNumber*)cashPayFee
      arrearFee:(NSNumber*)arrearFee
      paySate:(NSNumber*)paySate
      systemType:(NSNumber*)systemType
      resourceName:(NSString*)resourceName { 
     self.billId = billId;               
     self.pin = pin;               
     self.site = site;               
     self.region = region;               
     self.appCode = appCode;               
     self.appCodeName = appCodeName;               
     self.serviceCode = serviceCode;               
     self.serviceCodeName = serviceCodeName;               
     self.resourceId = resourceId;               
     self.billingType = billingType;               
     self.billingTypeName = billingTypeName;               
     self.formula = formula;               
     self.formulaStr = formulaStr;               
     self.startTime = startTime;               
     self.endTime = endTime;               
     self.createTime = createTime;               
     self.billFee = billFee;               
     self.billFee2 = billFee2;               
     self.discountFee = discountFee;               
     self.couponId = couponId;               
     self.couponFee = couponFee;               
     self.actualFee = actualFee;               
     self.cashCouponFee = cashCouponFee;               
     self.balancePayFee = balancePayFee;               
     self.cashPayFee = cashPayFee;               
     self.arrearFee = arrearFee;               
     self.paySate = paySate;               
     self.systemType = systemType;               
     self.resourceName = resourceName;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self billId])
    {
        [result setValue:[self billId] forKey:@"billId"];
    }
    if([self pin])
    {
        [result setValue:[self pin] forKey:@"pin"];
    }
    if([self site])
    {
        [result setValue:[self site] forKey:@"site"];
    }
    if([self region])
    {
        [result setValue:[self region] forKey:@"region"];
    }
    if([self appCode])
    {
        [result setValue:[self appCode] forKey:@"appCode"];
    }
    if([self appCodeName])
    {
        [result setValue:[self appCodeName] forKey:@"appCodeName"];
    }
    if([self serviceCode])
    {
        [result setValue:[self serviceCode] forKey:@"serviceCode"];
    }
    if([self serviceCodeName])
    {
        [result setValue:[self serviceCodeName] forKey:@"serviceCodeName"];
    }
    if([self resourceId])
    {
        [result setValue:[self resourceId] forKey:@"resourceId"];
    }
    if([self billingType])
    {
        [result setValue:[self billingType] forKey:@"billingType"];
    }
    if([self billingTypeName])
    {
        [result setValue:[self billingTypeName] forKey:@"billingTypeName"];
    }
    if([self formula])
    {
        [result setValue:[self formula] forKey:@"formula"];
    }
    if([self formulaStr])
    {
        [result setValue:[self formulaStr] forKey:@"formulaStr"];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self createTime])
    {
        [result setValue:[self createTime] forKey:@"createTime"];
    }
    if([self billFee])
    {
        [result setValue:[self billFee] forKey:@"billFee"];
    }
    if([self billFee2])
    {
        [result setValue:[self billFee2] forKey:@"billFee2"];
    }
    if([self discountFee])
    {
        [result setValue:[self discountFee] forKey:@"discountFee"];
    }
    if([self couponId])
    {
        [result setValue:[self couponId] forKey:@"couponId"];
    }
    if([self couponFee])
    {
        [result setValue:[self couponFee] forKey:@"couponFee"];
    }
    if([self actualFee])
    {
        [result setValue:[self actualFee] forKey:@"actualFee"];
    }
    if([self cashCouponFee])
    {
        [result setValue:[self cashCouponFee] forKey:@"cashCouponFee"];
    }
    if([self balancePayFee])
    {
        [result setValue:[self balancePayFee] forKey:@"balancePayFee"];
    }
    if([self cashPayFee])
    {
        [result setValue:[self cashPayFee] forKey:@"cashPayFee"];
    }
    if([self arrearFee])
    {
        [result setValue:[self arrearFee] forKey:@"arrearFee"];
    }
    if([self paySate])
    {
        [result setValue:[self paySate] forKey:@"paySate"];
    }
    if([self systemType])
    {
        [result setValue:[self systemType] forKey:@"systemType"];
    }
    if([self resourceName])
    {
        [result setValue:[self resourceName] forKey:@"resourceName"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.billId = [dictionary objectForKey:@"billId"];
    self.pin = [dictionary objectForKey:@"pin"];
    self.site = [dictionary objectForKey:@"site"];
    self.region = [dictionary objectForKey:@"region"];
    self.appCode = [dictionary objectForKey:@"appCode"];
    self.appCodeName = [dictionary objectForKey:@"appCodeName"];
    self.serviceCode = [dictionary objectForKey:@"serviceCode"];
    self.serviceCodeName = [dictionary objectForKey:@"serviceCodeName"];
    self.resourceId = [dictionary objectForKey:@"resourceId"];
    self.billingType = [dictionary objectForKey:@"billingType"];
    self.billingTypeName = [dictionary objectForKey:@"billingTypeName"];
    self.formula = [dictionary objectForKey:@"formula"];
    self.formulaStr = [dictionary objectForKey:@"formulaStr"];
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.createTime = [dictionary objectForKey:@"createTime"];
    self.billFee = [dictionary objectForKey:@"billFee"];
    self.billFee2 = [dictionary objectForKey:@"billFee2"];
    self.discountFee = [dictionary objectForKey:@"discountFee"];
    self.couponId = [dictionary objectForKey:@"couponId"];
    self.couponFee = [dictionary objectForKey:@"couponFee"];
    self.actualFee = [dictionary objectForKey:@"actualFee"];
    self.cashCouponFee = [dictionary objectForKey:@"cashCouponFee"];
    self.balancePayFee = [dictionary objectForKey:@"balancePayFee"];
    self.cashPayFee = [dictionary objectForKey:@"cashPayFee"];
    self.arrearFee = [dictionary objectForKey:@"arrearFee"];
    self.paySate = [dictionary objectForKey:@"paySate"];
    self.systemType = [dictionary objectForKey:@"systemType"];
    self.resourceName = [dictionary objectForKey:@"resourceName"];
    return self;
}
 @end
@implementation OrderCompensateFeeVo
-(id) initWithPin:(NSString*) pin
      appCode:(NSString*)appCode
      serviceCode:(NSString*)serviceCode
      resourceId:(NSString*)resourceId
      region:(NSString*)region
      startTime:(NSString*)startTime
      endTime:(NSString*)endTime
      totalFee:(NSNumber*)totalFee
      billingType:(NSNumber*)billingType { 
     self.pin = pin;               
     self.appCode = appCode;               
     self.serviceCode = serviceCode;               
     self.resourceId = resourceId;               
     self.region = region;               
     self.startTime = startTime;               
     self.endTime = endTime;               
     self.totalFee = totalFee;               
     self.billingType = billingType;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self pin])
    {
        [result setValue:[self pin] forKey:@"pin"];
    }
    if([self appCode])
    {
        [result setValue:[self appCode] forKey:@"appCode"];
    }
    if([self serviceCode])
    {
        [result setValue:[self serviceCode] forKey:@"serviceCode"];
    }
    if([self resourceId])
    {
        [result setValue:[self resourceId] forKey:@"resourceId"];
    }
    if([self region])
    {
        [result setValue:[self region] forKey:@"region"];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self totalFee])
    {
        [result setValue:[self totalFee] forKey:@"totalFee"];
    }
    if([self billingType])
    {
        [result setValue:[self billingType] forKey:@"billingType"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.pin = [dictionary objectForKey:@"pin"];
    self.appCode = [dictionary objectForKey:@"appCode"];
    self.serviceCode = [dictionary objectForKey:@"serviceCode"];
    self.resourceId = [dictionary objectForKey:@"resourceId"];
    self.region = [dictionary objectForKey:@"region"];
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.totalFee = [dictionary objectForKey:@"totalFee"];
    self.billingType = [dictionary objectForKey:@"billingType"];
    return self;
}
 @end
@implementation ResourceOrderStatusResultItem
-(id) initWithResourceId:(NSString*) resourceId
      billingType:(NSNumber*)billingType
      status:(NSNumber*)status
      pin:(NSString*)pin
      region:(NSString*)region
      updateTime:(NSString*)updateTime { 
     self.resourceId = resourceId;               
     self.billingType = billingType;               
     self.status = status;               
     self.pin = pin;               
     self.region = region;               
     self.updateTime = updateTime;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self resourceId])
    {
        [result setValue:[self resourceId] forKey:@"resourceId"];
    }
    if([self billingType])
    {
        [result setValue:[self billingType] forKey:@"billingType"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self pin])
    {
        [result setValue:[self pin] forKey:@"pin"];
    }
    if([self region])
    {
        [result setValue:[self region] forKey:@"region"];
    }
    if([self updateTime])
    {
        [result setValue:[self updateTime] forKey:@"updateTime"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.resourceId = [dictionary objectForKey:@"resourceId"];
    self.billingType = [dictionary objectForKey:@"billingType"];
    self.status = [dictionary objectForKey:@"status"];
    self.pin = [dictionary objectForKey:@"pin"];
    self.region = [dictionary objectForKey:@"region"];
    self.updateTime = [dictionary objectForKey:@"updateTime"];
    return self;
}
 @end
@implementation BillQueryCondition
-(id) initWithQueryType:(NSNumber*) queryType
      pin:(NSString*)pin
      appCode:(NSString*)appCode
      serviceCode:(NSString*)serviceCode
      billingType:(NSNumber*)billingType
      payType:(NSNumber*)payType
      payState:(NSNumber*)payState
      timeType:(NSNumber*)timeType
      startTime:(NSString*)startTime
      endTime:(NSString*)endTime
      ignoreZero:(NSNumber*)ignoreZero
      resourceId:(NSString*)resourceId
      site:(NSNumber*)site
      role:(NSNumber*)role
      region:(NSString*)region { 
     self.queryType = queryType;               
     self.pin = pin;               
     self.appCode = appCode;               
     self.serviceCode = serviceCode;               
     self.billingType = billingType;               
     self.payType = payType;               
     self.payState = payState;               
     self.timeType = timeType;               
     self.startTime = startTime;               
     self.endTime = endTime;               
     self.ignoreZero = ignoreZero;               
     self.resourceId = resourceId;               
     self.site = site;               
     self.role = role;               
     self.region = region;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self queryType])
    {
        [result setValue:[self queryType] forKey:@"queryType"];
    }
    if([self pin])
    {
        [result setValue:[self pin] forKey:@"pin"];
    }
    if([self appCode])
    {
        [result setValue:[self appCode] forKey:@"appCode"];
    }
    if([self serviceCode])
    {
        [result setValue:[self serviceCode] forKey:@"serviceCode"];
    }
    if([self billingType])
    {
        [result setValue:[self billingType] forKey:@"billingType"];
    }
    if([self payType])
    {
        [result setValue:[self payType] forKey:@"payType"];
    }
    if([self payState])
    {
        [result setValue:[self payState] forKey:@"payState"];
    }
    if([self timeType])
    {
        [result setValue:[self timeType] forKey:@"timeType"];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self ignoreZero])
    {
        [result setValue:[self ignoreZero] forKey:@"ignoreZero"];
    }
    if([self resourceId])
    {
        [result setValue:[self resourceId] forKey:@"resourceId"];
    }
    if([self site])
    {
        [result setValue:[self site] forKey:@"site"];
    }
    if([self role])
    {
        [result setValue:[self role] forKey:@"role"];
    }
    if([self region])
    {
        [result setValue:[self region] forKey:@"region"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.queryType = [dictionary objectForKey:@"queryType"];
    self.pin = [dictionary objectForKey:@"pin"];
    self.appCode = [dictionary objectForKey:@"appCode"];
    self.serviceCode = [dictionary objectForKey:@"serviceCode"];
    self.billingType = [dictionary objectForKey:@"billingType"];
    self.payType = [dictionary objectForKey:@"payType"];
    self.payState = [dictionary objectForKey:@"payState"];
    self.timeType = [dictionary objectForKey:@"timeType"];
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.ignoreZero = [dictionary objectForKey:@"ignoreZero"];
    self.resourceId = [dictionary objectForKey:@"resourceId"];
    self.site = [dictionary objectForKey:@"site"];
    self.role = [dictionary objectForKey:@"role"];
    self.region = [dictionary objectForKey:@"region"];
    return self;
}
 @end
@implementation EbsSeperateBillVo
-(id) initWithPin:(NSString*) pin
      dataSourceId:(NSString*)dataSourceId
      appCode:(NSString*)appCode
      chargeTime:(NSString*)chargeTime
      totalFee:(NSNumber*)totalFee
      seperateFee:(NSNumber*)seperateFee
      org:(NSString*)org
      userGroup:(NSNumber*)userGroup
      traderName:(NSString*)traderName
      orderType:(NSString*)orderType
      costFee:(NSNumber*)costFee
      taxRate:(NSNumber*)taxRate
      deptNo:(NSString*)deptNo
      sourceId:(NSString*)sourceId
      code:(NSNumber*)code
      message:(NSString*)message { 
     self.pin = pin;               
     self.dataSourceId = dataSourceId;               
     self.appCode = appCode;               
     self.chargeTime = chargeTime;               
     self.totalFee = totalFee;               
     self.seperateFee = seperateFee;               
     self.org = org;               
     self.userGroup = userGroup;               
     self.traderName = traderName;               
     self.orderType = orderType;               
     self.costFee = costFee;               
     self.taxRate = taxRate;               
     self.deptNo = deptNo;               
     self.sourceId = sourceId;               
     self.code = code;               
     self.message = message;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self pin])
    {
        [result setValue:[self pin] forKey:@"pin"];
    }
    if([self dataSourceId])
    {
        [result setValue:[self dataSourceId] forKey:@"dataSourceId"];
    }
    if([self appCode])
    {
        [result setValue:[self appCode] forKey:@"appCode"];
    }
    if([self chargeTime])
    {
        [result setValue:[self chargeTime] forKey:@"chargeTime"];
    }
    if([self totalFee])
    {
        [result setValue:[self totalFee] forKey:@"totalFee"];
    }
    if([self seperateFee])
    {
        [result setValue:[self seperateFee] forKey:@"seperateFee"];
    }
    if([self org])
    {
        [result setValue:[self org] forKey:@"org"];
    }
    if([self userGroup])
    {
        [result setValue:[self userGroup] forKey:@"userGroup"];
    }
    if([self traderName])
    {
        [result setValue:[self traderName] forKey:@"traderName"];
    }
    if([self orderType])
    {
        [result setValue:[self orderType] forKey:@"orderType"];
    }
    if([self costFee])
    {
        [result setValue:[self costFee] forKey:@"costFee"];
    }
    if([self taxRate])
    {
        [result setValue:[self taxRate] forKey:@"taxRate"];
    }
    if([self deptNo])
    {
        [result setValue:[self deptNo] forKey:@"deptNo"];
    }
    if([self sourceId])
    {
        [result setValue:[self sourceId] forKey:@"sourceId"];
    }
    if([self code])
    {
        [result setValue:[self code] forKey:@"code"];
    }
    if([self message])
    {
        [result setValue:[self message] forKey:@"message"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.pin = [dictionary objectForKey:@"pin"];
    self.dataSourceId = [dictionary objectForKey:@"dataSourceId"];
    self.appCode = [dictionary objectForKey:@"appCode"];
    self.chargeTime = [dictionary objectForKey:@"chargeTime"];
    self.totalFee = [dictionary objectForKey:@"totalFee"];
    self.seperateFee = [dictionary objectForKey:@"seperateFee"];
    self.org = [dictionary objectForKey:@"org"];
    self.userGroup = [dictionary objectForKey:@"userGroup"];
    self.traderName = [dictionary objectForKey:@"traderName"];
    self.orderType = [dictionary objectForKey:@"orderType"];
    self.costFee = [dictionary objectForKey:@"costFee"];
    self.taxRate = [dictionary objectForKey:@"taxRate"];
    self.deptNo = [dictionary objectForKey:@"deptNo"];
    self.sourceId = [dictionary objectForKey:@"sourceId"];
    self.code = [dictionary objectForKey:@"code"];
    self.message = [dictionary objectForKey:@"message"];
    return self;
}
 @end
@implementation ArrearInfoVo
-(id) initWithPin:(NSString*) pin
      arrearFee:(NSNumber*)arrearFee
      firstArrearDate:(NSString*)firstArrearDate
      arrearDays:(NSNumber*)arrearDays { 
     self.pin = pin;               
     self.arrearFee = arrearFee;               
     self.firstArrearDate = firstArrearDate;               
     self.arrearDays = arrearDays;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self pin])
    {
        [result setValue:[self pin] forKey:@"pin"];
    }
    if([self arrearFee])
    {
        [result setValue:[self arrearFee] forKey:@"arrearFee"];
    }
    if([self firstArrearDate])
    {
        [result setValue:[self firstArrearDate] forKey:@"firstArrearDate"];
    }
    if([self arrearDays])
    {
        [result setValue:[self arrearDays] forKey:@"arrearDays"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.pin = [dictionary objectForKey:@"pin"];
    self.arrearFee = [dictionary objectForKey:@"arrearFee"];
    self.firstArrearDate = [dictionary objectForKey:@"firstArrearDate"];
    self.arrearDays = [dictionary objectForKey:@"arrearDays"];
    return self;
}
 @end
@implementation Pagination
-(id) initWithCurrPageNo:(NSNumber*) currPageNo
      numberPages:(NSNumber*)numberPages
      numberRecords:(NSNumber*)numberRecords
      pageSize:(NSNumber*)pageSize
      startIndex:(NSNumber*)startIndex { 
     self.currPageNo = currPageNo;               
     self.numberPages = numberPages;               
     self.numberRecords = numberRecords;               
     self.pageSize = pageSize;               
     self.startIndex = startIndex;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self currPageNo])
    {
        [result setValue:[self currPageNo] forKey:@"currPageNo"];
    }
    if([self numberPages])
    {
        [result setValue:[self numberPages] forKey:@"numberPages"];
    }
    if([self numberRecords])
    {
        [result setValue:[self numberRecords] forKey:@"numberRecords"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self startIndex])
    {
        [result setValue:[self startIndex] forKey:@"startIndex"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.currPageNo = [dictionary objectForKey:@"currPageNo"];
    self.numberPages = [dictionary objectForKey:@"numberPages"];
    self.numberRecords = [dictionary objectForKey:@"numberRecords"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    self.startIndex = [dictionary objectForKey:@"startIndex"];
    return self;
}
 @end
@implementation Consumption
-(id) initWithBillingType:(NSNumber*) billingType
      payType:(NSNumber*)payType
      actualFee:(NSNumber*)actualFee
      cashPayFee:(NSNumber*)cashPayFee
      balancePayFee:(NSNumber*)balancePayFee
      cashCouponPayFee:(NSNumber*)cashCouponPayFee
      arrearFee:(NSNumber*)arrearFee
      groupTagValue:(NSString*)groupTagValue { 
     self.billingType = billingType;               
     self.payType = payType;               
     self.actualFee = actualFee;               
     self.cashPayFee = cashPayFee;               
     self.balancePayFee = balancePayFee;               
     self.cashCouponPayFee = cashCouponPayFee;               
     self.arrearFee = arrearFee;               
     self.groupTagValue = groupTagValue;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self billingType])
    {
        [result setValue:[self billingType] forKey:@"billingType"];
    }
    if([self payType])
    {
        [result setValue:[self payType] forKey:@"payType"];
    }
    if([self actualFee])
    {
        [result setValue:[self actualFee] forKey:@"actualFee"];
    }
    if([self cashPayFee])
    {
        [result setValue:[self cashPayFee] forKey:@"cashPayFee"];
    }
    if([self balancePayFee])
    {
        [result setValue:[self balancePayFee] forKey:@"balancePayFee"];
    }
    if([self cashCouponPayFee])
    {
        [result setValue:[self cashCouponPayFee] forKey:@"cashCouponPayFee"];
    }
    if([self arrearFee])
    {
        [result setValue:[self arrearFee] forKey:@"arrearFee"];
    }
    if([self groupTagValue])
    {
        [result setValue:[self groupTagValue] forKey:@"groupTagValue"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.billingType = [dictionary objectForKey:@"billingType"];
    self.payType = [dictionary objectForKey:@"payType"];
    self.actualFee = [dictionary objectForKey:@"actualFee"];
    self.cashPayFee = [dictionary objectForKey:@"cashPayFee"];
    self.balancePayFee = [dictionary objectForKey:@"balancePayFee"];
    self.cashCouponPayFee = [dictionary objectForKey:@"cashCouponPayFee"];
    self.arrearFee = [dictionary objectForKey:@"arrearFee"];
    self.groupTagValue = [dictionary objectForKey:@"groupTagValue"];
    return self;
}
 @end
@implementation ConsumeRecord
-(id) initWithId:(NSNumber*) idValue
      billingRecordId:(NSNumber*)billingRecordId
      appCode:(NSString*)appCode
      serviceCode:(NSString*)serviceCode
      region:(NSString*)region
      resourceId:(NSString*)resourceId
      pin:(NSString*)pin
      formula:(NSString*)formula
      billingType:(NSNumber*)billingType
      priceSnapShot:(NSString*)priceSnapShot
      startTime:(NSString*)startTime
      endTime:(NSString*)endTime
      createTime:(NSString*)createTime
      billFee:(NSNumber*)billFee
      billFee2:(NSNumber*)billFee2
      discountFee:(NSNumber*)discountFee
      couponId:(NSString*)couponId
      couponFee:(NSNumber*)couponFee
      transactionNo:(NSString*)transactionNo
      isBillGenerated:(NSNumber*)isBillGenerated
      subBillId:(NSNumber*)subBillId
      refundNo:(NSString*)refundNo
      actualFee:(NSNumber*)actualFee
      formulaName:(NSString*)formulaName { 
     self.idValue = idValue;               
     self.billingRecordId = billingRecordId;               
     self.appCode = appCode;               
     self.serviceCode = serviceCode;               
     self.region = region;               
     self.resourceId = resourceId;               
     self.pin = pin;               
     self.formula = formula;               
     self.billingType = billingType;               
     self.priceSnapShot = priceSnapShot;               
     self.startTime = startTime;               
     self.endTime = endTime;               
     self.createTime = createTime;               
     self.billFee = billFee;               
     self.billFee2 = billFee2;               
     self.discountFee = discountFee;               
     self.couponId = couponId;               
     self.couponFee = couponFee;               
     self.transactionNo = transactionNo;               
     self.isBillGenerated = isBillGenerated;               
     self.subBillId = subBillId;               
     self.refundNo = refundNo;               
     self.actualFee = actualFee;               
     self.formulaName = formulaName;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self billingRecordId])
    {
        [result setValue:[self billingRecordId] forKey:@"billingRecordId"];
    }
    if([self appCode])
    {
        [result setValue:[self appCode] forKey:@"appCode"];
    }
    if([self serviceCode])
    {
        [result setValue:[self serviceCode] forKey:@"serviceCode"];
    }
    if([self region])
    {
        [result setValue:[self region] forKey:@"region"];
    }
    if([self resourceId])
    {
        [result setValue:[self resourceId] forKey:@"resourceId"];
    }
    if([self pin])
    {
        [result setValue:[self pin] forKey:@"pin"];
    }
    if([self formula])
    {
        [result setValue:[self formula] forKey:@"formula"];
    }
    if([self billingType])
    {
        [result setValue:[self billingType] forKey:@"billingType"];
    }
    if([self priceSnapShot])
    {
        [result setValue:[self priceSnapShot] forKey:@"priceSnapShot"];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self createTime])
    {
        [result setValue:[self createTime] forKey:@"createTime"];
    }
    if([self billFee])
    {
        [result setValue:[self billFee] forKey:@"billFee"];
    }
    if([self billFee2])
    {
        [result setValue:[self billFee2] forKey:@"billFee2"];
    }
    if([self discountFee])
    {
        [result setValue:[self discountFee] forKey:@"discountFee"];
    }
    if([self couponId])
    {
        [result setValue:[self couponId] forKey:@"couponId"];
    }
    if([self couponFee])
    {
        [result setValue:[self couponFee] forKey:@"couponFee"];
    }
    if([self transactionNo])
    {
        [result setValue:[self transactionNo] forKey:@"transactionNo"];
    }
    if([self isBillGenerated])
    {
        [result setValue:[self isBillGenerated] forKey:@"isBillGenerated"];
    }
    if([self subBillId])
    {
        [result setValue:[self subBillId] forKey:@"subBillId"];
    }
    if([self refundNo])
    {
        [result setValue:[self refundNo] forKey:@"refundNo"];
    }
    if([self actualFee])
    {
        [result setValue:[self actualFee] forKey:@"actualFee"];
    }
    if([self formulaName])
    {
        [result setValue:[self formulaName] forKey:@"formulaName"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.idValue = [dictionary objectForKey:@"id"];
    self.billingRecordId = [dictionary objectForKey:@"billingRecordId"];
    self.appCode = [dictionary objectForKey:@"appCode"];
    self.serviceCode = [dictionary objectForKey:@"serviceCode"];
    self.region = [dictionary objectForKey:@"region"];
    self.resourceId = [dictionary objectForKey:@"resourceId"];
    self.pin = [dictionary objectForKey:@"pin"];
    self.formula = [dictionary objectForKey:@"formula"];
    self.billingType = [dictionary objectForKey:@"billingType"];
    self.priceSnapShot = [dictionary objectForKey:@"priceSnapShot"];
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.createTime = [dictionary objectForKey:@"createTime"];
    self.billFee = [dictionary objectForKey:@"billFee"];
    self.billFee2 = [dictionary objectForKey:@"billFee2"];
    self.discountFee = [dictionary objectForKey:@"discountFee"];
    self.couponId = [dictionary objectForKey:@"couponId"];
    self.couponFee = [dictionary objectForKey:@"couponFee"];
    self.transactionNo = [dictionary objectForKey:@"transactionNo"];
    self.isBillGenerated = [dictionary objectForKey:@"isBillGenerated"];
    self.subBillId = [dictionary objectForKey:@"subBillId"];
    self.refundNo = [dictionary objectForKey:@"refundNo"];
    self.actualFee = [dictionary objectForKey:@"actualFee"];
    self.formulaName = [dictionary objectForKey:@"formulaName"];
    return self;
}
 @end
@implementation ResourceAeVo
-(id) initWithId:(NSNumber*) idValue
      site:(NSNumber*)site
      appCode:(NSString*)appCode
      region:(NSString*)region
      serviceCode:(NSString*)serviceCode
      formula:(NSString*)formula
      pin:(NSString*)pin
      resourceId:(NSString*)resourceId
      billingType:(NSNumber*)billingType
      subBillId:(NSNumber*)subBillId
      state:(NSNumber*)state
      stateTime:(NSString*)stateTime
      op:(NSNumber*)op
      isLastRecord:(NSNumber*)isLastRecord
      createTime:(NSString*)createTime
      updateTime:(NSString*)updateTime
      toDeleteTime:(NSString*)toDeleteTime
      capState:(NSNumber*)capState { 
     self.idValue = idValue;               
     self.site = site;               
     self.appCode = appCode;               
     self.region = region;               
     self.serviceCode = serviceCode;               
     self.formula = formula;               
     self.pin = pin;               
     self.resourceId = resourceId;               
     self.billingType = billingType;               
     self.subBillId = subBillId;               
     self.state = state;               
     self.stateTime = stateTime;               
     self.op = op;               
     self.isLastRecord = isLastRecord;               
     self.createTime = createTime;               
     self.updateTime = updateTime;               
     self.toDeleteTime = toDeleteTime;               
     self.capState = capState;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self site])
    {
        [result setValue:[self site] forKey:@"site"];
    }
    if([self appCode])
    {
        [result setValue:[self appCode] forKey:@"appCode"];
    }
    if([self region])
    {
        [result setValue:[self region] forKey:@"region"];
    }
    if([self serviceCode])
    {
        [result setValue:[self serviceCode] forKey:@"serviceCode"];
    }
    if([self formula])
    {
        [result setValue:[self formula] forKey:@"formula"];
    }
    if([self pin])
    {
        [result setValue:[self pin] forKey:@"pin"];
    }
    if([self resourceId])
    {
        [result setValue:[self resourceId] forKey:@"resourceId"];
    }
    if([self billingType])
    {
        [result setValue:[self billingType] forKey:@"billingType"];
    }
    if([self subBillId])
    {
        [result setValue:[self subBillId] forKey:@"subBillId"];
    }
    if([self state])
    {
        [result setValue:[self state] forKey:@"state"];
    }
    if([self stateTime])
    {
        [result setValue:[self stateTime] forKey:@"stateTime"];
    }
    if([self op])
    {
        [result setValue:[self op] forKey:@"op"];
    }
    if([self isLastRecord])
    {
        [result setValue:[self isLastRecord] forKey:@"isLastRecord"];
    }
    if([self createTime])
    {
        [result setValue:[self createTime] forKey:@"createTime"];
    }
    if([self updateTime])
    {
        [result setValue:[self updateTime] forKey:@"updateTime"];
    }
    if([self toDeleteTime])
    {
        [result setValue:[self toDeleteTime] forKey:@"toDeleteTime"];
    }
    if([self capState])
    {
        [result setValue:[self capState] forKey:@"capState"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.idValue = [dictionary objectForKey:@"id"];
    self.site = [dictionary objectForKey:@"site"];
    self.appCode = [dictionary objectForKey:@"appCode"];
    self.region = [dictionary objectForKey:@"region"];
    self.serviceCode = [dictionary objectForKey:@"serviceCode"];
    self.formula = [dictionary objectForKey:@"formula"];
    self.pin = [dictionary objectForKey:@"pin"];
    self.resourceId = [dictionary objectForKey:@"resourceId"];
    self.billingType = [dictionary objectForKey:@"billingType"];
    self.subBillId = [dictionary objectForKey:@"subBillId"];
    self.state = [dictionary objectForKey:@"state"];
    self.stateTime = [dictionary objectForKey:@"stateTime"];
    self.op = [dictionary objectForKey:@"op"];
    self.isLastRecord = [dictionary objectForKey:@"isLastRecord"];
    self.createTime = [dictionary objectForKey:@"createTime"];
    self.updateTime = [dictionary objectForKey:@"updateTime"];
    self.toDeleteTime = [dictionary objectForKey:@"toDeleteTime"];
    self.capState = [dictionary objectForKey:@"capState"];
    return self;
}
 @end
@implementation ResourceOrderStatusCondition
-(id) initWithSite:(NSNumber*) site
      serviceCode:(NSString*)serviceCode
      status:(NSNumber*)status
      resourceIdList:(NSArray<NSString*>*)resourceIdList
      pageIndex:(NSNumber*)pageIndex
      pageSize:(NSNumber*)pageSize { 
     self.site = site;               
     self.serviceCode = serviceCode;               
     self.status = status;               
     self.resourceIdList = resourceIdList;               
     self.pageIndex = pageIndex;               
     self.pageSize = pageSize;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self site])
    {
        [result setValue:[self site] forKey:@"site"];
    }
    if([self serviceCode])
    {
        [result setValue:[self serviceCode] forKey:@"serviceCode"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self resourceIdList])
    {
        [result setValue:[self resourceIdList] forKey:@"resourceIdList"];
    }
    if([self pageIndex])
    {
        [result setValue:[self pageIndex] forKey:@"pageIndex"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.site = [dictionary objectForKey:@"site"];
    self.serviceCode = [dictionary objectForKey:@"serviceCode"];
    self.status = [dictionary objectForKey:@"status"];
    self.resourceIdList = [dictionary objectForKey:@"resourceIdList"];
    self.pageIndex = [dictionary objectForKey:@"pageIndex"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    return self;
}
 @end
@implementation ResourceOrderStatusVo
-(id) initWithResourceId:(NSString*) resourceId
      pin:(NSString*)pin
      status:(NSNumber*)status
      billingStatus:(NSNumber*)billingStatus
      billingType:(NSNumber*)billingType
      endTime:(NSString*)endTime
      chargeMode:(NSNumber*)chargeMode
      chargeDuration:(NSNumber*)chargeDuration
      chargeUnit:(NSNumber*)chargeUnit
      site:(NSNumber*)site
      operateTime:(NSString*)operateTime { 
     self.resourceId = resourceId;               
     self.pin = pin;               
     self.status = status;               
     self.billingStatus = billingStatus;               
     self.billingType = billingType;               
     self.endTime = endTime;               
     self.chargeMode = chargeMode;               
     self.chargeDuration = chargeDuration;               
     self.chargeUnit = chargeUnit;               
     self.site = site;               
     self.operateTime = operateTime;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self resourceId])
    {
        [result setValue:[self resourceId] forKey:@"resourceId"];
    }
    if([self pin])
    {
        [result setValue:[self pin] forKey:@"pin"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self billingStatus])
    {
        [result setValue:[self billingStatus] forKey:@"billingStatus"];
    }
    if([self billingType])
    {
        [result setValue:[self billingType] forKey:@"billingType"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self chargeMode])
    {
        [result setValue:[self chargeMode] forKey:@"chargeMode"];
    }
    if([self chargeDuration])
    {
        [result setValue:[self chargeDuration] forKey:@"chargeDuration"];
    }
    if([self chargeUnit])
    {
        [result setValue:[self chargeUnit] forKey:@"chargeUnit"];
    }
    if([self site])
    {
        [result setValue:[self site] forKey:@"site"];
    }
    if([self operateTime])
    {
        [result setValue:[self operateTime] forKey:@"operateTime"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.resourceId = [dictionary objectForKey:@"resourceId"];
    self.pin = [dictionary objectForKey:@"pin"];
    self.status = [dictionary objectForKey:@"status"];
    self.billingStatus = [dictionary objectForKey:@"billingStatus"];
    self.billingType = [dictionary objectForKey:@"billingType"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.chargeMode = [dictionary objectForKey:@"chargeMode"];
    self.chargeDuration = [dictionary objectForKey:@"chargeDuration"];
    self.chargeUnit = [dictionary objectForKey:@"chargeUnit"];
    self.site = [dictionary objectForKey:@"site"];
    self.operateTime = [dictionary objectForKey:@"operateTime"];
    return self;
}
 @end
@implementation BillStatisticsInfoVo
-(id) initWithTotalFee:(NSNumber*) totalFee
      cashPayFee:(NSNumber*)cashPayFee
      cashCouponPayFee:(NSNumber*)cashCouponPayFee
      balancePayFee:(NSNumber*)balancePayFee
      arrearFee:(NSNumber*)arrearFee
      billFee:(NSNumber*)billFee
      discountFee:(NSNumber*)discountFee { 
     self.totalFee = totalFee;               
     self.cashPayFee = cashPayFee;               
     self.cashCouponPayFee = cashCouponPayFee;               
     self.balancePayFee = balancePayFee;               
     self.arrearFee = arrearFee;               
     self.billFee = billFee;               
     self.discountFee = discountFee;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self totalFee])
    {
        [result setValue:[self totalFee] forKey:@"totalFee"];
    }
    if([self cashPayFee])
    {
        [result setValue:[self cashPayFee] forKey:@"cashPayFee"];
    }
    if([self cashCouponPayFee])
    {
        [result setValue:[self cashCouponPayFee] forKey:@"cashCouponPayFee"];
    }
    if([self balancePayFee])
    {
        [result setValue:[self balancePayFee] forKey:@"balancePayFee"];
    }
    if([self arrearFee])
    {
        [result setValue:[self arrearFee] forKey:@"arrearFee"];
    }
    if([self billFee])
    {
        [result setValue:[self billFee] forKey:@"billFee"];
    }
    if([self discountFee])
    {
        [result setValue:[self discountFee] forKey:@"discountFee"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.totalFee = [dictionary objectForKey:@"totalFee"];
    self.cashPayFee = [dictionary objectForKey:@"cashPayFee"];
    self.cashCouponPayFee = [dictionary objectForKey:@"cashCouponPayFee"];
    self.balancePayFee = [dictionary objectForKey:@"balancePayFee"];
    self.arrearFee = [dictionary objectForKey:@"arrearFee"];
    self.billFee = [dictionary objectForKey:@"billFee"];
    self.discountFee = [dictionary objectForKey:@"discountFee"];
    return self;
}
 @end
@implementation ProductDetailList
-(id) initWithKey:(NSNumber*) key
      values:(Pagination*)values { 
     self.key = key;               
     self.values = values;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self key])
    {
        [result setValue:[self key] forKey:@"key"];
    }
    if([self values])
    {
        [result setValue:[[self values] dictionary]forKey:@"values"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.key = [dictionary objectForKey:@"key"];
    self.values = [[Pagination alloc]initWithDic:[dictionary objectForKey:@"values"]];
    return self;
}
 @end
@implementation ResourceOrderVo
-(id) initWithId:(NSNumber*) idValue
      transactionNo:(NSString*)transactionNo
      resourceId:(NSString*)resourceId
      billingType:(NSNumber*)billingType
      timeUnit:(NSNumber*)timeUnit
      timeSpan:(NSNumber*)timeSpan
      status:(NSNumber*)status
      billingStatus:(NSNumber*)billingStatus
      networkOperator:(NSNumber*)networkOperator
      pin:(NSString*)pin
      appCode:(NSString*)appCode
      serviceCode:(NSString*)serviceCode
      site:(NSNumber*)site
      region:(NSString*)region
      formula:(NSArray<Formula*>*)formula
      isOnTrial:(NSNumber*)isOnTrial
      startTime:(NSString*)startTime
      endTime:(NSString*)endTime
      createTime:(NSString*)createTime
      payTime:(NSString*)payTime
      formulaStr:(NSString*)formulaStr
      chargeMode:(NSNumber*)chargeMode
      chargeDuration:(NSNumber*)chargeDuration
      chargeUnit:(NSNumber*)chargeUnit
      aeStatus:(NSNumber*)aeStatus
      releasingTime:(NSString*)releasingTime
      sourceId:(NSString*)sourceId
      billingStartTime:(NSString*)billingStartTime
      priceMap:(PriceMap*)priceMap
      priceSnapshot:(NSString*)priceSnapshot
      price:(NSNumber*)price
      discountedPrice:(NSNumber*)discountedPrice
      expiringDays:(NSNumber*)expiringDays
      billingCategoryDescription:(NSString*)billingCategoryDescription
      descriptionValue:(NSString*)descriptionValue
      refundNo:(NSString*)refundNo
      billingTypeName:(NSString*)billingTypeName
      favorableInfo:(NSString*)favorableInfo
      resourceName:(NSString*)resourceName
      processType:(NSNumber*)processType
      applicant:(NSString*)applicant
      billingMode:(NSNumber*)billingMode
      operateTime:(NSString*)operateTime { 
     self.idValue = idValue;               
     self.transactionNo = transactionNo;               
     self.resourceId = resourceId;               
     self.billingType = billingType;               
     self.timeUnit = timeUnit;               
     self.timeSpan = timeSpan;               
     self.status = status;               
     self.billingStatus = billingStatus;               
     self.networkOperator = networkOperator;               
     self.pin = pin;               
     self.appCode = appCode;               
     self.serviceCode = serviceCode;               
     self.site = site;               
     self.region = region;               
     self.formula = formula;               
     self.isOnTrial = isOnTrial;               
     self.startTime = startTime;               
     self.endTime = endTime;               
     self.createTime = createTime;               
     self.payTime = payTime;               
     self.formulaStr = formulaStr;               
     self.chargeMode = chargeMode;               
     self.chargeDuration = chargeDuration;               
     self.chargeUnit = chargeUnit;               
     self.aeStatus = aeStatus;               
     self.releasingTime = releasingTime;               
     self.sourceId = sourceId;               
     self.billingStartTime = billingStartTime;               
     self.priceMap = priceMap;               
     self.priceSnapshot = priceSnapshot;               
     self.price = price;               
     self.discountedPrice = discountedPrice;               
     self.expiringDays = expiringDays;               
     self.billingCategoryDescription = billingCategoryDescription;               
     self.descriptionValue = descriptionValue;               
     self.refundNo = refundNo;               
     self.billingTypeName = billingTypeName;               
     self.favorableInfo = favorableInfo;               
     self.resourceName = resourceName;               
     self.processType = processType;               
     self.applicant = applicant;               
     self.billingMode = billingMode;               
     self.operateTime = operateTime;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self transactionNo])
    {
        [result setValue:[self transactionNo] forKey:@"transactionNo"];
    }
    if([self resourceId])
    {
        [result setValue:[self resourceId] forKey:@"resourceId"];
    }
    if([self billingType])
    {
        [result setValue:[self billingType] forKey:@"billingType"];
    }
    if([self timeUnit])
    {
        [result setValue:[self timeUnit] forKey:@"timeUnit"];
    }
    if([self timeSpan])
    {
        [result setValue:[self timeSpan] forKey:@"timeSpan"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self billingStatus])
    {
        [result setValue:[self billingStatus] forKey:@"billingStatus"];
    }
    if([self networkOperator])
    {
        [result setValue:[self networkOperator] forKey:@"networkOperator"];
    }
    if([self pin])
    {
        [result setValue:[self pin] forKey:@"pin"];
    }
    if([self appCode])
    {
        [result setValue:[self appCode] forKey:@"appCode"];
    }
    if([self serviceCode])
    {
        [result setValue:[self serviceCode] forKey:@"serviceCode"];
    }
    if([self site])
    {
        [result setValue:[self site] forKey:@"site"];
    }
    if([self region])
    {
        [result setValue:[self region] forKey:@"region"];
    }
    if([self formula])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self formula] count]; i++) {
            Formula* item = [[self formula] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"formula"];
    }
    if([self isOnTrial])
    {
        [result setValue:[self isOnTrial] forKey:@"isOnTrial"];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self createTime])
    {
        [result setValue:[self createTime] forKey:@"createTime"];
    }
    if([self payTime])
    {
        [result setValue:[self payTime] forKey:@"payTime"];
    }
    if([self formulaStr])
    {
        [result setValue:[self formulaStr] forKey:@"formulaStr"];
    }
    if([self chargeMode])
    {
        [result setValue:[self chargeMode] forKey:@"chargeMode"];
    }
    if([self chargeDuration])
    {
        [result setValue:[self chargeDuration] forKey:@"chargeDuration"];
    }
    if([self chargeUnit])
    {
        [result setValue:[self chargeUnit] forKey:@"chargeUnit"];
    }
    if([self aeStatus])
    {
        [result setValue:[self aeStatus] forKey:@"aeStatus"];
    }
    if([self releasingTime])
    {
        [result setValue:[self releasingTime] forKey:@"releasingTime"];
    }
    if([self sourceId])
    {
        [result setValue:[self sourceId] forKey:@"sourceId"];
    }
    if([self billingStartTime])
    {
        [result setValue:[self billingStartTime] forKey:@"billingStartTime"];
    }
    if([self priceMap])
    {
        [result setValue:[[self priceMap] dictionary]forKey:@"priceMap"];
    }
    if([self priceSnapshot])
    {
        [result setValue:[self priceSnapshot] forKey:@"priceSnapshot"];
    }
    if([self price])
    {
        [result setValue:[self price] forKey:@"price"];
    }
    if([self discountedPrice])
    {
        [result setValue:[self discountedPrice] forKey:@"discountedPrice"];
    }
    if([self expiringDays])
    {
        [result setValue:[self expiringDays] forKey:@"expiringDays"];
    }
    if([self billingCategoryDescription])
    {
        [result setValue:[self billingCategoryDescription] forKey:@"billingCategoryDescription"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self refundNo])
    {
        [result setValue:[self refundNo] forKey:@"refundNo"];
    }
    if([self billingTypeName])
    {
        [result setValue:[self billingTypeName] forKey:@"billingTypeName"];
    }
    if([self favorableInfo])
    {
        [result setValue:[self favorableInfo] forKey:@"favorableInfo"];
    }
    if([self resourceName])
    {
        [result setValue:[self resourceName] forKey:@"resourceName"];
    }
    if([self processType])
    {
        [result setValue:[self processType] forKey:@"processType"];
    }
    if([self applicant])
    {
        [result setValue:[self applicant] forKey:@"applicant"];
    }
    if([self billingMode])
    {
        [result setValue:[self billingMode] forKey:@"billingMode"];
    }
    if([self operateTime])
    {
        [result setValue:[self operateTime] forKey:@"operateTime"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.idValue = [dictionary objectForKey:@"id"];
    self.transactionNo = [dictionary objectForKey:@"transactionNo"];
    self.resourceId = [dictionary objectForKey:@"resourceId"];
    self.billingType = [dictionary objectForKey:@"billingType"];
    self.timeUnit = [dictionary objectForKey:@"timeUnit"];
    self.timeSpan = [dictionary objectForKey:@"timeSpan"];
    self.status = [dictionary objectForKey:@"status"];
    self.billingStatus = [dictionary objectForKey:@"billingStatus"];
    self.networkOperator = [dictionary objectForKey:@"networkOperator"];
    self.pin = [dictionary objectForKey:@"pin"];
    self.appCode = [dictionary objectForKey:@"appCode"];
    self.serviceCode = [dictionary objectForKey:@"serviceCode"];
    self.site = [dictionary objectForKey:@"site"];
    self.region = [dictionary objectForKey:@"region"];
    NSArray* formulaArray = [dictionary objectForKey:@"formula"];
    if(formulaArray&&![formulaArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [formulaArray count];i++)
        {
            Formula* item = [[Formula alloc]initWithDic:[formulaArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.formula = propertyArray;
    }
    self.isOnTrial = [dictionary objectForKey:@"isOnTrial"];
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.createTime = [dictionary objectForKey:@"createTime"];
    self.payTime = [dictionary objectForKey:@"payTime"];
    self.formulaStr = [dictionary objectForKey:@"formulaStr"];
    self.chargeMode = [dictionary objectForKey:@"chargeMode"];
    self.chargeDuration = [dictionary objectForKey:@"chargeDuration"];
    self.chargeUnit = [dictionary objectForKey:@"chargeUnit"];
    self.aeStatus = [dictionary objectForKey:@"aeStatus"];
    self.releasingTime = [dictionary objectForKey:@"releasingTime"];
    self.sourceId = [dictionary objectForKey:@"sourceId"];
    self.billingStartTime = [dictionary objectForKey:@"billingStartTime"];
    self.priceMap = [[PriceMap alloc]initWithDic:[dictionary objectForKey:@"priceMap"]];
    self.priceSnapshot = [dictionary objectForKey:@"priceSnapshot"];
    self.price = [dictionary objectForKey:@"price"];
    self.discountedPrice = [dictionary objectForKey:@"discountedPrice"];
    self.expiringDays = [dictionary objectForKey:@"expiringDays"];
    self.billingCategoryDescription = [dictionary objectForKey:@"billingCategoryDescription"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.refundNo = [dictionary objectForKey:@"refundNo"];
    self.billingTypeName = [dictionary objectForKey:@"billingTypeName"];
    self.favorableInfo = [dictionary objectForKey:@"favorableInfo"];
    self.resourceName = [dictionary objectForKey:@"resourceName"];
    self.processType = [dictionary objectForKey:@"processType"];
    self.applicant = [dictionary objectForKey:@"applicant"];
    self.billingMode = [dictionary objectForKey:@"billingMode"];
    self.operateTime = [dictionary objectForKey:@"operateTime"];
    return self;
}
 @end
@implementation ResourceBillQueryResultItem
-(id) initWithBillId:(NSNumber*) billId
      pin:(NSString*)pin
      appCode:(NSString*)appCode
      serviceCode:(NSString*)serviceCode
      serviceCodeName:(NSString*)serviceCodeName
      billingType:(NSNumber*)billingType
      billingTypeName:(NSString*)billingTypeName
      resourceId:(NSString*)resourceId
      region:(NSString*)region
      regionName:(NSString*)regionName
      billStartTime:(NSString*)billStartTime
      billEndTime:(NSString*)billEndTime
      startTime:(NSString*)startTime
      endTime:(NSString*)endTime
      totalFee:(NSNumber*)totalFee
      cashPayFee:(NSNumber*)cashPayFee
      cashCouponPayFee:(NSNumber*)cashCouponPayFee
      balancePayFee:(NSNumber*)balancePayFee
      arrearFee:(NSNumber*)arrearFee
      timeSpan:(NSNumber*)timeSpan
      timeUnit:(NSNumber*)timeUnit
      opTypeName:(NSString*)opTypeName
      timeSpanName:(NSString*)timeSpanName
      timeUnitName:(NSString*)timeUnitName
      settleTime:(NSString*)settleTime
      systemType:(NSNumber*)systemType
      resourceName:(NSString*)resourceName
      tagDetails:(NSArray<ResourceTagVo*>*)tagDetails { 
     self.billId = billId;               
     self.pin = pin;               
     self.appCode = appCode;               
     self.serviceCode = serviceCode;               
     self.serviceCodeName = serviceCodeName;               
     self.billingType = billingType;               
     self.billingTypeName = billingTypeName;               
     self.resourceId = resourceId;               
     self.region = region;               
     self.regionName = regionName;               
     self.billStartTime = billStartTime;               
     self.billEndTime = billEndTime;               
     self.startTime = startTime;               
     self.endTime = endTime;               
     self.totalFee = totalFee;               
     self.cashPayFee = cashPayFee;               
     self.cashCouponPayFee = cashCouponPayFee;               
     self.balancePayFee = balancePayFee;               
     self.arrearFee = arrearFee;               
     self.timeSpan = timeSpan;               
     self.timeUnit = timeUnit;               
     self.opTypeName = opTypeName;               
     self.timeSpanName = timeSpanName;               
     self.timeUnitName = timeUnitName;               
     self.settleTime = settleTime;               
     self.systemType = systemType;               
     self.resourceName = resourceName;               
     self.tagDetails = tagDetails;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self billId])
    {
        [result setValue:[self billId] forKey:@"billId"];
    }
    if([self pin])
    {
        [result setValue:[self pin] forKey:@"pin"];
    }
    if([self appCode])
    {
        [result setValue:[self appCode] forKey:@"appCode"];
    }
    if([self serviceCode])
    {
        [result setValue:[self serviceCode] forKey:@"serviceCode"];
    }
    if([self serviceCodeName])
    {
        [result setValue:[self serviceCodeName] forKey:@"serviceCodeName"];
    }
    if([self billingType])
    {
        [result setValue:[self billingType] forKey:@"billingType"];
    }
    if([self billingTypeName])
    {
        [result setValue:[self billingTypeName] forKey:@"billingTypeName"];
    }
    if([self resourceId])
    {
        [result setValue:[self resourceId] forKey:@"resourceId"];
    }
    if([self region])
    {
        [result setValue:[self region] forKey:@"region"];
    }
    if([self regionName])
    {
        [result setValue:[self regionName] forKey:@"regionName"];
    }
    if([self billStartTime])
    {
        [result setValue:[self billStartTime] forKey:@"billStartTime"];
    }
    if([self billEndTime])
    {
        [result setValue:[self billEndTime] forKey:@"billEndTime"];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self totalFee])
    {
        [result setValue:[self totalFee] forKey:@"totalFee"];
    }
    if([self cashPayFee])
    {
        [result setValue:[self cashPayFee] forKey:@"cashPayFee"];
    }
    if([self cashCouponPayFee])
    {
        [result setValue:[self cashCouponPayFee] forKey:@"cashCouponPayFee"];
    }
    if([self balancePayFee])
    {
        [result setValue:[self balancePayFee] forKey:@"balancePayFee"];
    }
    if([self arrearFee])
    {
        [result setValue:[self arrearFee] forKey:@"arrearFee"];
    }
    if([self timeSpan])
    {
        [result setValue:[self timeSpan] forKey:@"timeSpan"];
    }
    if([self timeUnit])
    {
        [result setValue:[self timeUnit] forKey:@"timeUnit"];
    }
    if([self opTypeName])
    {
        [result setValue:[self opTypeName] forKey:@"opTypeName"];
    }
    if([self timeSpanName])
    {
        [result setValue:[self timeSpanName] forKey:@"timeSpanName"];
    }
    if([self timeUnitName])
    {
        [result setValue:[self timeUnitName] forKey:@"timeUnitName"];
    }
    if([self settleTime])
    {
        [result setValue:[self settleTime] forKey:@"settleTime"];
    }
    if([self systemType])
    {
        [result setValue:[self systemType] forKey:@"systemType"];
    }
    if([self resourceName])
    {
        [result setValue:[self resourceName] forKey:@"resourceName"];
    }
    if([self tagDetails])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self tagDetails] count]; i++) {
            ResourceTagVo* item = [[self tagDetails] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"tagDetails"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.billId = [dictionary objectForKey:@"billId"];
    self.pin = [dictionary objectForKey:@"pin"];
    self.appCode = [dictionary objectForKey:@"appCode"];
    self.serviceCode = [dictionary objectForKey:@"serviceCode"];
    self.serviceCodeName = [dictionary objectForKey:@"serviceCodeName"];
    self.billingType = [dictionary objectForKey:@"billingType"];
    self.billingTypeName = [dictionary objectForKey:@"billingTypeName"];
    self.resourceId = [dictionary objectForKey:@"resourceId"];
    self.region = [dictionary objectForKey:@"region"];
    self.regionName = [dictionary objectForKey:@"regionName"];
    self.billStartTime = [dictionary objectForKey:@"billStartTime"];
    self.billEndTime = [dictionary objectForKey:@"billEndTime"];
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.totalFee = [dictionary objectForKey:@"totalFee"];
    self.cashPayFee = [dictionary objectForKey:@"cashPayFee"];
    self.cashCouponPayFee = [dictionary objectForKey:@"cashCouponPayFee"];
    self.balancePayFee = [dictionary objectForKey:@"balancePayFee"];
    self.arrearFee = [dictionary objectForKey:@"arrearFee"];
    self.timeSpan = [dictionary objectForKey:@"timeSpan"];
    self.timeUnit = [dictionary objectForKey:@"timeUnit"];
    self.opTypeName = [dictionary objectForKey:@"opTypeName"];
    self.timeSpanName = [dictionary objectForKey:@"timeSpanName"];
    self.timeUnitName = [dictionary objectForKey:@"timeUnitName"];
    self.settleTime = [dictionary objectForKey:@"settleTime"];
    self.systemType = [dictionary objectForKey:@"systemType"];
    self.resourceName = [dictionary objectForKey:@"resourceName"];
    NSArray* tagDetailsArray = [dictionary objectForKey:@"tagDetails"];
    if(tagDetailsArray&&![tagDetailsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [tagDetailsArray count];i++)
        {
            ResourceTagVo* item = [[ResourceTagVo alloc]initWithDic:[tagDetailsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.tagDetails = propertyArray;
    }
    return self;
}
 @end
@implementation EbsBillVoRequest
-(id) initWithEbsBillVoList:(NSArray<EbsBillVo*>*) ebsBillVoList { 
     self.ebsBillVoList = ebsBillVoList;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self ebsBillVoList])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self ebsBillVoList] count]; i++) {
            EbsBillVo* item = [[self ebsBillVoList] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"ebsBillVoList"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* ebsBillVoListArray = [dictionary objectForKey:@"ebsBillVoList"];
    if(ebsBillVoListArray&&![ebsBillVoListArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [ebsBillVoListArray count];i++)
        {
            EbsBillVo* item = [[EbsBillVo alloc]initWithDic:[ebsBillVoListArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.ebsBillVoList = propertyArray;
    }
    return self;
}
 @end
@implementation OrderPriceDetail
-(id) initWithPrice:(NSNumber*) price
      priceScale4:(NSNumber*)priceScale4
      discount:(NSNumber*)discount
      discountedPrice:(NSNumber*)discountedPrice
      originalPrice:(NSNumber*)originalPrice
      resourceId:(NSString*)resourceId
      appCode:(NSString*)appCode
      serviceCode:(NSString*)serviceCode
      site:(NSNumber*)site
      region:(NSString*)region
      billingType:(NSNumber*)billingType
      timeSpan:(NSNumber*)timeSpan
      timeUnit:(NSNumber*)timeUnit
      networkOperator:(NSNumber*)networkOperator
      formula:(NSArray<Formula*>*)formula
      favorableInfo:(NSString*)favorableInfo
      priceSnapShot:(NSString*)priceSnapShot
      pin:(NSString*)pin
      taskId:(NSString*)taskId
      startTime:(NSString*)startTime
      endTime:(NSString*)endTime
      processType:(NSNumber*)processType
      sourceId:(NSString*)sourceId { 
     self.price = price;               
     self.priceScale4 = priceScale4;               
     self.discount = discount;               
     self.discountedPrice = discountedPrice;               
     self.originalPrice = originalPrice;               
     self.resourceId = resourceId;               
     self.appCode = appCode;               
     self.serviceCode = serviceCode;               
     self.site = site;               
     self.region = region;               
     self.billingType = billingType;               
     self.timeSpan = timeSpan;               
     self.timeUnit = timeUnit;               
     self.networkOperator = networkOperator;               
     self.formula = formula;               
     self.favorableInfo = favorableInfo;               
     self.priceSnapShot = priceSnapShot;               
     self.pin = pin;               
     self.taskId = taskId;               
     self.startTime = startTime;               
     self.endTime = endTime;               
     self.processType = processType;               
     self.sourceId = sourceId;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self price])
    {
        [result setValue:[self price] forKey:@"price"];
    }
    if([self priceScale4])
    {
        [result setValue:[self priceScale4] forKey:@"priceScale4"];
    }
    if([self discount])
    {
        [result setValue:[self discount] forKey:@"discount"];
    }
    if([self discountedPrice])
    {
        [result setValue:[self discountedPrice] forKey:@"discountedPrice"];
    }
    if([self originalPrice])
    {
        [result setValue:[self originalPrice] forKey:@"originalPrice"];
    }
    if([self resourceId])
    {
        [result setValue:[self resourceId] forKey:@"resourceId"];
    }
    if([self appCode])
    {
        [result setValue:[self appCode] forKey:@"appCode"];
    }
    if([self serviceCode])
    {
        [result setValue:[self serviceCode] forKey:@"serviceCode"];
    }
    if([self site])
    {
        [result setValue:[self site] forKey:@"site"];
    }
    if([self region])
    {
        [result setValue:[self region] forKey:@"region"];
    }
    if([self billingType])
    {
        [result setValue:[self billingType] forKey:@"billingType"];
    }
    if([self timeSpan])
    {
        [result setValue:[self timeSpan] forKey:@"timeSpan"];
    }
    if([self timeUnit])
    {
        [result setValue:[self timeUnit] forKey:@"timeUnit"];
    }
    if([self networkOperator])
    {
        [result setValue:[self networkOperator] forKey:@"networkOperator"];
    }
    if([self formula])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self formula] count]; i++) {
            Formula* item = [[self formula] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"formula"];
    }
    if([self favorableInfo])
    {
        [result setValue:[self favorableInfo] forKey:@"favorableInfo"];
    }
    if([self priceSnapShot])
    {
        [result setValue:[self priceSnapShot] forKey:@"priceSnapShot"];
    }
    if([self pin])
    {
        [result setValue:[self pin] forKey:@"pin"];
    }
    if([self taskId])
    {
        [result setValue:[self taskId] forKey:@"taskId"];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self processType])
    {
        [result setValue:[self processType] forKey:@"processType"];
    }
    if([self sourceId])
    {
        [result setValue:[self sourceId] forKey:@"sourceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.price = [dictionary objectForKey:@"price"];
    self.priceScale4 = [dictionary objectForKey:@"priceScale4"];
    self.discount = [dictionary objectForKey:@"discount"];
    self.discountedPrice = [dictionary objectForKey:@"discountedPrice"];
    self.originalPrice = [dictionary objectForKey:@"originalPrice"];
    self.resourceId = [dictionary objectForKey:@"resourceId"];
    self.appCode = [dictionary objectForKey:@"appCode"];
    self.serviceCode = [dictionary objectForKey:@"serviceCode"];
    self.site = [dictionary objectForKey:@"site"];
    self.region = [dictionary objectForKey:@"region"];
    self.billingType = [dictionary objectForKey:@"billingType"];
    self.timeSpan = [dictionary objectForKey:@"timeSpan"];
    self.timeUnit = [dictionary objectForKey:@"timeUnit"];
    self.networkOperator = [dictionary objectForKey:@"networkOperator"];
    NSArray* formulaArray = [dictionary objectForKey:@"formula"];
    if(formulaArray&&![formulaArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [formulaArray count];i++)
        {
            Formula* item = [[Formula alloc]initWithDic:[formulaArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.formula = propertyArray;
    }
    self.favorableInfo = [dictionary objectForKey:@"favorableInfo"];
    self.priceSnapShot = [dictionary objectForKey:@"priceSnapShot"];
    self.pin = [dictionary objectForKey:@"pin"];
    self.taskId = [dictionary objectForKey:@"taskId"];
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.processType = [dictionary objectForKey:@"processType"];
    self.sourceId = [dictionary objectForKey:@"sourceId"];
    return self;
}
 @end
@implementation OrderPriceProtocol
-(id) initWithResourceId:(NSString*) resourceId
      appCode:(NSString*)appCode
      serviceCode:(NSString*)serviceCode
      site:(NSNumber*)site
      region:(NSString*)region
      billingType:(NSNumber*)billingType
      timeSpan:(NSNumber*)timeSpan
      timeUnit:(NSNumber*)timeUnit
      networkOperator:(NSNumber*)networkOperator
      formula:(NSArray<Formula*>*)formula
      formulaStr:(NSString*)formulaStr
      pin:(NSString*)pin
      count:(NSNumber*)count
      startTime:(NSString*)startTime
      endTime:(NSString*)endTime
      taskId:(NSString*)taskId
      sourceId:(NSString*)sourceId { 
     self.resourceId = resourceId;               
     self.appCode = appCode;               
     self.serviceCode = serviceCode;               
     self.site = site;               
     self.region = region;               
     self.billingType = billingType;               
     self.timeSpan = timeSpan;               
     self.timeUnit = timeUnit;               
     self.networkOperator = networkOperator;               
     self.formula = formula;               
     self.formulaStr = formulaStr;               
     self.pin = pin;               
     self.count = count;               
     self.startTime = startTime;               
     self.endTime = endTime;               
     self.taskId = taskId;               
     self.sourceId = sourceId;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self resourceId])
    {
        [result setValue:[self resourceId] forKey:@"resourceId"];
    }
    if([self appCode])
    {
        [result setValue:[self appCode] forKey:@"appCode"];
    }
    if([self serviceCode])
    {
        [result setValue:[self serviceCode] forKey:@"serviceCode"];
    }
    if([self site])
    {
        [result setValue:[self site] forKey:@"site"];
    }
    if([self region])
    {
        [result setValue:[self region] forKey:@"region"];
    }
    if([self billingType])
    {
        [result setValue:[self billingType] forKey:@"billingType"];
    }
    if([self timeSpan])
    {
        [result setValue:[self timeSpan] forKey:@"timeSpan"];
    }
    if([self timeUnit])
    {
        [result setValue:[self timeUnit] forKey:@"timeUnit"];
    }
    if([self networkOperator])
    {
        [result setValue:[self networkOperator] forKey:@"networkOperator"];
    }
    if([self formula])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self formula] count]; i++) {
            Formula* item = [[self formula] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"formula"];
    }
    if([self formulaStr])
    {
        [result setValue:[self formulaStr] forKey:@"formulaStr"];
    }
    if([self pin])
    {
        [result setValue:[self pin] forKey:@"pin"];
    }
    if([self count])
    {
        [result setValue:[self count] forKey:@"count"];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self taskId])
    {
        [result setValue:[self taskId] forKey:@"taskId"];
    }
    if([self sourceId])
    {
        [result setValue:[self sourceId] forKey:@"sourceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.resourceId = [dictionary objectForKey:@"resourceId"];
    self.appCode = [dictionary objectForKey:@"appCode"];
    self.serviceCode = [dictionary objectForKey:@"serviceCode"];
    self.site = [dictionary objectForKey:@"site"];
    self.region = [dictionary objectForKey:@"region"];
    self.billingType = [dictionary objectForKey:@"billingType"];
    self.timeSpan = [dictionary objectForKey:@"timeSpan"];
    self.timeUnit = [dictionary objectForKey:@"timeUnit"];
    self.networkOperator = [dictionary objectForKey:@"networkOperator"];
    NSArray* formulaArray = [dictionary objectForKey:@"formula"];
    if(formulaArray&&![formulaArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [formulaArray count];i++)
        {
            Formula* item = [[Formula alloc]initWithDic:[formulaArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.formula = propertyArray;
    }
    self.formulaStr = [dictionary objectForKey:@"formulaStr"];
    self.pin = [dictionary objectForKey:@"pin"];
    self.count = [dictionary objectForKey:@"count"];
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.taskId = [dictionary objectForKey:@"taskId"];
    self.sourceId = [dictionary objectForKey:@"sourceId"];
    return self;
}
 @end
@implementation EbsSeperateBillVoRequest
-(id) initWithEbsSeperateBillVoList:(NSArray<EbsSeperateBillVo*>*) ebsSeperateBillVoList { 
     self.ebsSeperateBillVoList = ebsSeperateBillVoList;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self ebsSeperateBillVoList])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self ebsSeperateBillVoList] count]; i++) {
            EbsSeperateBillVo* item = [[self ebsSeperateBillVoList] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"ebsSeperateBillVoList"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* ebsSeperateBillVoListArray = [dictionary objectForKey:@"ebsSeperateBillVoList"];
    if(ebsSeperateBillVoListArray&&![ebsSeperateBillVoListArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [ebsSeperateBillVoListArray count];i++)
        {
            EbsSeperateBillVo* item = [[EbsSeperateBillVo alloc]initWithDic:[ebsSeperateBillVoListArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.ebsSeperateBillVoList = propertyArray;
    }
    return self;
}
 @end
@implementation ConsumptionProduct
-(id) initWithAppCode:(NSString*) appCode
      appCodeName:(NSString*)appCodeName
      serviceCode:(NSString*)serviceCode
      serviceCodeName:(NSString*)serviceCodeName
      actualFee:(NSNumber*)actualFee
      cashPayFee:(NSNumber*)cashPayFee
      balancePayFee:(NSNumber*)balancePayFee
      cashCouponPayFee:(NSNumber*)cashCouponPayFee
      arrearFee:(NSNumber*)arrearFee
      productDetails:(NSArray<Consumption*>*)productDetails
      productDetailList:(ProductDetailList*)productDetailList
      groupTagValue:(NSString*)groupTagValue { 
     self.appCode = appCode;               
     self.appCodeName = appCodeName;               
     self.serviceCode = serviceCode;               
     self.serviceCodeName = serviceCodeName;               
     self.actualFee = actualFee;               
     self.cashPayFee = cashPayFee;               
     self.balancePayFee = balancePayFee;               
     self.cashCouponPayFee = cashCouponPayFee;               
     self.arrearFee = arrearFee;               
     self.productDetails = productDetails;               
     self.productDetailList = productDetailList;               
     self.groupTagValue = groupTagValue;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self appCode])
    {
        [result setValue:[self appCode] forKey:@"appCode"];
    }
    if([self appCodeName])
    {
        [result setValue:[self appCodeName] forKey:@"appCodeName"];
    }
    if([self serviceCode])
    {
        [result setValue:[self serviceCode] forKey:@"serviceCode"];
    }
    if([self serviceCodeName])
    {
        [result setValue:[self serviceCodeName] forKey:@"serviceCodeName"];
    }
    if([self actualFee])
    {
        [result setValue:[self actualFee] forKey:@"actualFee"];
    }
    if([self cashPayFee])
    {
        [result setValue:[self cashPayFee] forKey:@"cashPayFee"];
    }
    if([self balancePayFee])
    {
        [result setValue:[self balancePayFee] forKey:@"balancePayFee"];
    }
    if([self cashCouponPayFee])
    {
        [result setValue:[self cashCouponPayFee] forKey:@"cashCouponPayFee"];
    }
    if([self arrearFee])
    {
        [result setValue:[self arrearFee] forKey:@"arrearFee"];
    }
    if([self productDetails])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self productDetails] count]; i++) {
            Consumption* item = [[self productDetails] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"productDetails"];
    }
    if([self productDetailList])
    {
        [result setValue:[[self productDetailList] dictionary]forKey:@"productDetailList"];
    }
    if([self groupTagValue])
    {
        [result setValue:[self groupTagValue] forKey:@"groupTagValue"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.appCode = [dictionary objectForKey:@"appCode"];
    self.appCodeName = [dictionary objectForKey:@"appCodeName"];
    self.serviceCode = [dictionary objectForKey:@"serviceCode"];
    self.serviceCodeName = [dictionary objectForKey:@"serviceCodeName"];
    self.actualFee = [dictionary objectForKey:@"actualFee"];
    self.cashPayFee = [dictionary objectForKey:@"cashPayFee"];
    self.balancePayFee = [dictionary objectForKey:@"balancePayFee"];
    self.cashCouponPayFee = [dictionary objectForKey:@"cashCouponPayFee"];
    self.arrearFee = [dictionary objectForKey:@"arrearFee"];
    NSArray* productDetailsArray = [dictionary objectForKey:@"productDetails"];
    if(productDetailsArray&&![productDetailsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [productDetailsArray count];i++)
        {
            Consumption* item = [[Consumption alloc]initWithDic:[productDetailsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.productDetails = propertyArray;
    }
    self.productDetailList = [[ProductDetailList alloc]initWithDic:[dictionary objectForKey:@"productDetailList"]];
    self.groupTagValue = [dictionary objectForKey:@"groupTagValue"];
    return self;
}
 @end
@implementation ConsumeBillQueryResultItem
-(id) initWithBillId:(NSNumber*) billId
      pin:(NSString*)pin
      appCode:(NSString*)appCode
      appCodeName:(NSString*)appCodeName
      serviceCode:(NSString*)serviceCode
      serviceCodeName:(NSString*)serviceCodeName
      resourceId:(NSString*)resourceId
      billingType:(NSNumber*)billingType
      billingTypeName:(NSString*)billingTypeName
      billStart:(NSString*)billStart
      billEnd:(NSString*)billEnd
      settleTime:(NSString*)settleTime
      billTime:(NSString*)billTime
      billFee:(NSNumber*)billFee
      totalFee:(NSNumber*)totalFee
      cashPayFee:(NSNumber*)cashPayFee
      cashCouponPayFee:(NSNumber*)cashCouponPayFee
      balancePayFee:(NSNumber*)balancePayFee
      discountFee:(NSNumber*)discountFee
      arrearFee:(NSNumber*)arrearFee
      payState:(NSNumber*)payState
      createTime:(NSString*)createTime
      systemType:(NSNumber*)systemType
      region:(NSString*)region
      formula:(NSString*)formula
      formulaStr:(NSString*)formulaStr
      tagDetails:(NSArray<ResourceTagVo*>*)tagDetails { 
     self.billId = billId;               
     self.pin = pin;               
     self.appCode = appCode;               
     self.appCodeName = appCodeName;               
     self.serviceCode = serviceCode;               
     self.serviceCodeName = serviceCodeName;               
     self.resourceId = resourceId;               
     self.billingType = billingType;               
     self.billingTypeName = billingTypeName;               
     self.billStart = billStart;               
     self.billEnd = billEnd;               
     self.settleTime = settleTime;               
     self.billTime = billTime;               
     self.billFee = billFee;               
     self.totalFee = totalFee;               
     self.cashPayFee = cashPayFee;               
     self.cashCouponPayFee = cashCouponPayFee;               
     self.balancePayFee = balancePayFee;               
     self.discountFee = discountFee;               
     self.arrearFee = arrearFee;               
     self.payState = payState;               
     self.createTime = createTime;               
     self.systemType = systemType;               
     self.region = region;               
     self.formula = formula;               
     self.formulaStr = formulaStr;               
     self.tagDetails = tagDetails;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self billId])
    {
        [result setValue:[self billId] forKey:@"billId"];
    }
    if([self pin])
    {
        [result setValue:[self pin] forKey:@"pin"];
    }
    if([self appCode])
    {
        [result setValue:[self appCode] forKey:@"appCode"];
    }
    if([self appCodeName])
    {
        [result setValue:[self appCodeName] forKey:@"appCodeName"];
    }
    if([self serviceCode])
    {
        [result setValue:[self serviceCode] forKey:@"serviceCode"];
    }
    if([self serviceCodeName])
    {
        [result setValue:[self serviceCodeName] forKey:@"serviceCodeName"];
    }
    if([self resourceId])
    {
        [result setValue:[self resourceId] forKey:@"resourceId"];
    }
    if([self billingType])
    {
        [result setValue:[self billingType] forKey:@"billingType"];
    }
    if([self billingTypeName])
    {
        [result setValue:[self billingTypeName] forKey:@"billingTypeName"];
    }
    if([self billStart])
    {
        [result setValue:[self billStart] forKey:@"billStart"];
    }
    if([self billEnd])
    {
        [result setValue:[self billEnd] forKey:@"billEnd"];
    }
    if([self settleTime])
    {
        [result setValue:[self settleTime] forKey:@"settleTime"];
    }
    if([self billTime])
    {
        [result setValue:[self billTime] forKey:@"billTime"];
    }
    if([self billFee])
    {
        [result setValue:[self billFee] forKey:@"billFee"];
    }
    if([self totalFee])
    {
        [result setValue:[self totalFee] forKey:@"totalFee"];
    }
    if([self cashPayFee])
    {
        [result setValue:[self cashPayFee] forKey:@"cashPayFee"];
    }
    if([self cashCouponPayFee])
    {
        [result setValue:[self cashCouponPayFee] forKey:@"cashCouponPayFee"];
    }
    if([self balancePayFee])
    {
        [result setValue:[self balancePayFee] forKey:@"balancePayFee"];
    }
    if([self discountFee])
    {
        [result setValue:[self discountFee] forKey:@"discountFee"];
    }
    if([self arrearFee])
    {
        [result setValue:[self arrearFee] forKey:@"arrearFee"];
    }
    if([self payState])
    {
        [result setValue:[self payState] forKey:@"payState"];
    }
    if([self createTime])
    {
        [result setValue:[self createTime] forKey:@"createTime"];
    }
    if([self systemType])
    {
        [result setValue:[self systemType] forKey:@"systemType"];
    }
    if([self region])
    {
        [result setValue:[self region] forKey:@"region"];
    }
    if([self formula])
    {
        [result setValue:[self formula] forKey:@"formula"];
    }
    if([self formulaStr])
    {
        [result setValue:[self formulaStr] forKey:@"formulaStr"];
    }
    if([self tagDetails])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self tagDetails] count]; i++) {
            ResourceTagVo* item = [[self tagDetails] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"tagDetails"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.billId = [dictionary objectForKey:@"billId"];
    self.pin = [dictionary objectForKey:@"pin"];
    self.appCode = [dictionary objectForKey:@"appCode"];
    self.appCodeName = [dictionary objectForKey:@"appCodeName"];
    self.serviceCode = [dictionary objectForKey:@"serviceCode"];
    self.serviceCodeName = [dictionary objectForKey:@"serviceCodeName"];
    self.resourceId = [dictionary objectForKey:@"resourceId"];
    self.billingType = [dictionary objectForKey:@"billingType"];
    self.billingTypeName = [dictionary objectForKey:@"billingTypeName"];
    self.billStart = [dictionary objectForKey:@"billStart"];
    self.billEnd = [dictionary objectForKey:@"billEnd"];
    self.settleTime = [dictionary objectForKey:@"settleTime"];
    self.billTime = [dictionary objectForKey:@"billTime"];
    self.billFee = [dictionary objectForKey:@"billFee"];
    self.totalFee = [dictionary objectForKey:@"totalFee"];
    self.cashPayFee = [dictionary objectForKey:@"cashPayFee"];
    self.cashCouponPayFee = [dictionary objectForKey:@"cashCouponPayFee"];
    self.balancePayFee = [dictionary objectForKey:@"balancePayFee"];
    self.discountFee = [dictionary objectForKey:@"discountFee"];
    self.arrearFee = [dictionary objectForKey:@"arrearFee"];
    self.payState = [dictionary objectForKey:@"payState"];
    self.createTime = [dictionary objectForKey:@"createTime"];
    self.systemType = [dictionary objectForKey:@"systemType"];
    self.region = [dictionary objectForKey:@"region"];
    self.formula = [dictionary objectForKey:@"formula"];
    self.formulaStr = [dictionary objectForKey:@"formulaStr"];
    NSArray* tagDetailsArray = [dictionary objectForKey:@"tagDetails"];
    if(tagDetailsArray&&![tagDetailsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [tagDetailsArray count];i++)
        {
            ResourceTagVo* item = [[ResourceTagVo alloc]initWithDic:[tagDetailsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.tagDetails = propertyArray;
    }
    return self;
}
 @end
@implementation OrderPrice
-(id) initWithTotalPrice:(NSNumber*) totalPrice
      totalPriceScale4:(NSNumber*)totalPriceScale4
      discountedTotalPrice:(NSNumber*)discountedTotalPrice
      totalDiscount:(NSNumber*)totalDiscount
      list:(NSArray<OrderPriceDetail*>*)list
      totalOriginalPrice:(NSNumber*)totalOriginalPrice
      favorableInfos:(NSNumber*)favorableInfos
      remark:(NSNumber*)remark { 
     self.totalPrice = totalPrice;               
     self.totalPriceScale4 = totalPriceScale4;               
     self.discountedTotalPrice = discountedTotalPrice;               
     self.totalDiscount = totalDiscount;               
     self.list = list;               
     self.totalOriginalPrice = totalOriginalPrice;               
     self.favorableInfos = favorableInfos;               
     self.remark = remark;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self totalPrice])
    {
        [result setValue:[self totalPrice] forKey:@"totalPrice"];
    }
    if([self totalPriceScale4])
    {
        [result setValue:[self totalPriceScale4] forKey:@"totalPriceScale4"];
    }
    if([self discountedTotalPrice])
    {
        [result setValue:[self discountedTotalPrice] forKey:@"discountedTotalPrice"];
    }
    if([self totalDiscount])
    {
        [result setValue:[self totalDiscount] forKey:@"totalDiscount"];
    }
    if([self list])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self list] count]; i++) {
            OrderPriceDetail* item = [[self list] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"list"];
    }
    if([self totalOriginalPrice])
    {
        [result setValue:[self totalOriginalPrice] forKey:@"totalOriginalPrice"];
    }
    if([self favorableInfos])
    {
        [result setValue:[self favorableInfos] forKey:@"favorableInfos"];
    }
    if([self remark])
    {
        [result setValue:[self remark] forKey:@"remark"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.totalPrice = [dictionary objectForKey:@"totalPrice"];
    self.totalPriceScale4 = [dictionary objectForKey:@"totalPriceScale4"];
    self.discountedTotalPrice = [dictionary objectForKey:@"discountedTotalPrice"];
    self.totalDiscount = [dictionary objectForKey:@"totalDiscount"];
    NSArray* listArray = [dictionary objectForKey:@"list"];
    if(listArray&&![listArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [listArray count];i++)
        {
            OrderPriceDetail* item = [[OrderPriceDetail alloc]initWithDic:[listArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.list = propertyArray;
    }
    self.totalOriginalPrice = [dictionary objectForKey:@"totalOriginalPrice"];
    self.favorableInfos = [dictionary objectForKey:@"favorableInfos"];
    self.remark = [dictionary objectForKey:@"remark"];
    return self;
}
 @end
@implementation BillSummary
-(id) initWithPin:(NSString*) pin
      appCode:(NSString*)appCode
      appCodeName:(NSString*)appCodeName
      serviceCode:(NSString*)serviceCode
      serviceCodeName:(NSString*)serviceCodeName
      billingType:(NSNumber*)billingType
      billingTypeName:(NSString*)billingTypeName
      resourceId:(NSString*)resourceId
      resourceName:(NSString*)resourceName
      region:(NSString*)region
      actionTypeName:(NSString*)actionTypeName
      formula:(NSString*)formula
      startTime:(NSString*)startTime
      endTime:(NSString*)endTime
      billTime:(NSString*)billTime
      totalFee:(NSNumber*)totalFee
      discountFee:(NSNumber*)discountFee
      realTotalFee:(NSNumber*)realTotalFee
      cashCouponPayFee:(NSNumber*)cashCouponPayFee
      balancePayFee:(NSNumber*)balancePayFee
      cashPayFee:(NSNumber*)cashPayFee
      arrearFee:(NSNumber*)arrearFee
      tagDetails:(NSArray<ResourceTagVo*>*)tagDetails { 
     self.pin = pin;               
     self.appCode = appCode;               
     self.appCodeName = appCodeName;               
     self.serviceCode = serviceCode;               
     self.serviceCodeName = serviceCodeName;               
     self.billingType = billingType;               
     self.billingTypeName = billingTypeName;               
     self.resourceId = resourceId;               
     self.resourceName = resourceName;               
     self.region = region;               
     self.actionTypeName = actionTypeName;               
     self.formula = formula;               
     self.startTime = startTime;               
     self.endTime = endTime;               
     self.billTime = billTime;               
     self.totalFee = totalFee;               
     self.discountFee = discountFee;               
     self.realTotalFee = realTotalFee;               
     self.cashCouponPayFee = cashCouponPayFee;               
     self.balancePayFee = balancePayFee;               
     self.cashPayFee = cashPayFee;               
     self.arrearFee = arrearFee;               
     self.tagDetails = tagDetails;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self pin])
    {
        [result setValue:[self pin] forKey:@"pin"];
    }
    if([self appCode])
    {
        [result setValue:[self appCode] forKey:@"appCode"];
    }
    if([self appCodeName])
    {
        [result setValue:[self appCodeName] forKey:@"appCodeName"];
    }
    if([self serviceCode])
    {
        [result setValue:[self serviceCode] forKey:@"serviceCode"];
    }
    if([self serviceCodeName])
    {
        [result setValue:[self serviceCodeName] forKey:@"serviceCodeName"];
    }
    if([self billingType])
    {
        [result setValue:[self billingType] forKey:@"billingType"];
    }
    if([self billingTypeName])
    {
        [result setValue:[self billingTypeName] forKey:@"billingTypeName"];
    }
    if([self resourceId])
    {
        [result setValue:[self resourceId] forKey:@"resourceId"];
    }
    if([self resourceName])
    {
        [result setValue:[self resourceName] forKey:@"resourceName"];
    }
    if([self region])
    {
        [result setValue:[self region] forKey:@"region"];
    }
    if([self actionTypeName])
    {
        [result setValue:[self actionTypeName] forKey:@"actionTypeName"];
    }
    if([self formula])
    {
        [result setValue:[self formula] forKey:@"formula"];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self billTime])
    {
        [result setValue:[self billTime] forKey:@"billTime"];
    }
    if([self totalFee])
    {
        [result setValue:[self totalFee] forKey:@"totalFee"];
    }
    if([self discountFee])
    {
        [result setValue:[self discountFee] forKey:@"discountFee"];
    }
    if([self realTotalFee])
    {
        [result setValue:[self realTotalFee] forKey:@"realTotalFee"];
    }
    if([self cashCouponPayFee])
    {
        [result setValue:[self cashCouponPayFee] forKey:@"cashCouponPayFee"];
    }
    if([self balancePayFee])
    {
        [result setValue:[self balancePayFee] forKey:@"balancePayFee"];
    }
    if([self cashPayFee])
    {
        [result setValue:[self cashPayFee] forKey:@"cashPayFee"];
    }
    if([self arrearFee])
    {
        [result setValue:[self arrearFee] forKey:@"arrearFee"];
    }
    if([self tagDetails])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self tagDetails] count]; i++) {
            ResourceTagVo* item = [[self tagDetails] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"tagDetails"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.pin = [dictionary objectForKey:@"pin"];
    self.appCode = [dictionary objectForKey:@"appCode"];
    self.appCodeName = [dictionary objectForKey:@"appCodeName"];
    self.serviceCode = [dictionary objectForKey:@"serviceCode"];
    self.serviceCodeName = [dictionary objectForKey:@"serviceCodeName"];
    self.billingType = [dictionary objectForKey:@"billingType"];
    self.billingTypeName = [dictionary objectForKey:@"billingTypeName"];
    self.resourceId = [dictionary objectForKey:@"resourceId"];
    self.resourceName = [dictionary objectForKey:@"resourceName"];
    self.region = [dictionary objectForKey:@"region"];
    self.actionTypeName = [dictionary objectForKey:@"actionTypeName"];
    self.formula = [dictionary objectForKey:@"formula"];
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.billTime = [dictionary objectForKey:@"billTime"];
    self.totalFee = [dictionary objectForKey:@"totalFee"];
    self.discountFee = [dictionary objectForKey:@"discountFee"];
    self.realTotalFee = [dictionary objectForKey:@"realTotalFee"];
    self.cashCouponPayFee = [dictionary objectForKey:@"cashCouponPayFee"];
    self.balancePayFee = [dictionary objectForKey:@"balancePayFee"];
    self.cashPayFee = [dictionary objectForKey:@"cashPayFee"];
    self.arrearFee = [dictionary objectForKey:@"arrearFee"];
    NSArray* tagDetailsArray = [dictionary objectForKey:@"tagDetails"];
    if(tagDetailsArray&&![tagDetailsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [tagDetailsArray count];i++)
        {
            ResourceTagVo* item = [[ResourceTagVo alloc]initWithDic:[tagDetailsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.tagDetails = propertyArray;
    }
    return self;
}
 @end
 
 


